package com.henrich.ccb.java8stream;

import java.util.Arrays;
import java.util.List;
import java.util.Optional;

/**
 * <p>功能描述：遍历、匹配 </p>
 * foreach、find、match
 * Stream也是支持类似集合的遍历和匹配元素的，只是Stream中的元素是以Optional类型存在的。
 * <p>修订记录</p>
 *
 * @Author xianghui.zh
 * @Version 1.0 2022/2/21
 **/
public class FindAndMatchDemo {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(7, 6, 9, 3, 8, 2, 1);
        // 遍历
        list.stream().forEach(System.out::println);
        // 匹配第一个
        Optional<Integer> first = list.stream().findFirst();
        System.out.println("first: " + first.get());
        // 并行流匹配任意
        Optional<Integer> any = list.parallelStream().findAny();
        System.out.println("any: " + any.get());
        // 是否包含特定元素
        boolean b = list.stream().anyMatch(x -> x > 6);
        System.out.println("是否包含大于6的元素：" + b);
    }
}
